how primitive values are passed in java